Skip to content

Adding pass-through option to MultiTrackSelector (for LST tracking / seeding) - LST-internal only#247

Open
mmasciov wants to merge 2 commits intomasterfrom
passThroughMTS-SL
Open

Adding pass-through option to MultiTrackSelector (for LST tracking / seeding) - LST-internal only#247
mmasciov wants to merge 2 commits intomasterfrom
passThroughMTS-SL

Conversation

@mmasciov
Copy link

As per title.

FYI: @bucket420, @slava77, @bdanzi

@mmasciov
Copy link
Author

run-ci: all

@github-actions
Copy link

The PR was built and ran successfully in standalone mode running on CPU. Here are some of the comparison plots.

Efficiency vs pT comparison Efficiency vs eta comparison
Fake rate vs pT comparison Fake rate vs eta comparison
Duplicate rate vs pT comparison Duplicate rate vs eta comparison

The full set of validation and comparison plots can be found here.

Here is a timing comparison:

   Evt    Hits       MD       LS      T3       T5       pLS       pT5      pT3      TC       Reset    Event     Short             Rate
   avg     35.8    401.3    277.8    196.4     68.9    837.9     14.0    148.2    127.2    258.7      0.1    2366.3    1492.6+/- 704.8     761.2   explicit[s=4] (target branch)
   avg     31.1    371.0    259.7    154.2     59.7    776.0     11.9    137.1    133.3    268.3      0.1    2202.4    1395.2+/- 467.3     742.0   explicit[s=4] (this PR)

@github-actions
Copy link

There was a problem while building and running with CMSSW. The logs can be found here.

@mmasciov mmasciov force-pushed the passThroughMTS-SL branch from 4ae573e to 2f5c077 Compare March 19, 2026 13:54
@mmasciov
Copy link
Author

run-ci: all

@github-actions
Copy link

The PR was built and ran successfully in standalone mode running on CPU. Here are some of the comparison plots.

Efficiency vs pT comparison Efficiency vs eta comparison
Fake rate vs pT comparison Fake rate vs eta comparison
Duplicate rate vs pT comparison Duplicate rate vs eta comparison

The full set of validation and comparison plots can be found here.

Here is a timing comparison:

   Evt    Hits       MD       LS      T3       T5       pLS       pT5      pT3      TC       Reset    Event     Short             Rate
   avg     28.2    324.0    243.2    137.1     47.4    699.6     10.9    116.0    118.5    209.2      0.8    1934.9    1207.1+/- 289.8     599.5   explicit[s=4] (target branch)
   avg     28.2    324.3    242.6    136.4     47.7    699.6     10.9    115.5    120.0    208.9      0.1    1934.2    1206.5+/- 292.6     600.3   explicit[s=4] (this PR)

@github-actions
Copy link

The PR was built and ran successfully with CMSSW running on CPU. Here are some plots.

OOTB All Tracks
Efficiency and fake rate vs pT, eta, and phi

The full set of validation and comparison plots can be found here.

Comment on lines +387 to +391
(trackingPhase2PU140 & (trackingLST | seedingLST)).toModify(highPtTripletStepSelector, passThroughForAll = True)
# Passthrough selector to satisfy the TrackListMerger requirement for selector values
highPtTripletStepSelectorLSTT4T5 = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
src = 'highPtTripletStepLSTT4T5Tracks',
passThroughForDisplaced = True,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

which of these is making a change in plots_building_highPtTripletStep ?

Now that the selector functionality allows to select T4/T5 from the same collection, can we already use a merged collection?

Copy link
Author

@mmasciov mmasciov Mar 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

which of these is making a change in plots_building_highPtTripletStep ?

Nothing should change at all, because to my understanding the tested workflow does NOT include LST procModifiers.

EDIT: actually, apparently the cmsDriver command is modified wrt. the listed workflow, looking at the logs. This is confusing - at least to me. Will investigate further.

Now that the selector functionality allows to select T4/T5 from the same collection, can we already use a merged collection?

Yes. I will try to simplify this part.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing should change at all, because to my understanding the tested workflow does NOT include LST procModifiers.

https://github.com/SegmentLinking/TrackLooper-actions/blob/main/cmssw/run.sh has
--procModifiers trackingIters01,trackingLST \

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing should change at all, because to my understanding the tested workflow does NOT include LST procModifiers.

https://github.com/SegmentLinking/TrackLooper-actions/blob/main/cmssw/run.sh has --procModifiers trackingIters01,trackingLST \

Later noticed in the logs, hence my "EDIT" above.

I believe I now understand why we see a difference at "building" level in LST.
The reason is that the tracks being monitored when LST is enabled are not the product of a TrackProducer, but LST tracks that undergo already the high-purity selection:
https://github.com/cms-sw/cmssw/blob/master/RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py#L293

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants